import os
from dotenv import load_dotenv

# 尝试加载环境变量
try:
    load_dotenv()
except ImportError:
    pass

# S3 配置
S3_CONFIG = {
    # AWS 凭证
    'AWS_ACCESS_KEY_ID': os.getenv('AWS_ACCESS_KEY_ID', ''),
    'AWS_SECRET_ACCESS_KEY': os.getenv('AWS_SECRET_ACCESS_KEY', ''),
    
    # S3 设置
    'S3_BUCKET_NAME': os.getenv('S3_BUCKET_NAME', 'jianying-drafts'),
    'S3_REGION_NAME': os.getenv('S3_REGION_NAME', 'us-east-1'),
    'S3_ENDPOINT_URL': os.getenv('S3_ENDPOINT_URL', None),  # 如果使用非AWS的S3兼容服务，如MinIO
    
    # 使用模式设置
    'USE_S3': os.getenv('USE_S3', 'False').lower() == 'true',
    
    # 文件访问设置
    'PUBLIC_URL_PREFIX': os.getenv('PUBLIC_URL_PREFIX', ''),
    'DEFAULT_EXPIRES_IN': int(os.getenv('DEFAULT_EXPIRES_IN', '3600')),  # 签名URL默认过期时间(秒)
    
    # 文件存储设置
    'DEFAULT_CACHE_CONTROL': os.getenv('DEFAULT_CACHE_CONTROL', 'max-age=86400'),
    'DEFAULT_ACL': os.getenv('DEFAULT_ACL', 'private'),  # 'private' 或 'public-read'
    
    # 本地存储路径（作为备选方案）
    'LOCAL_STORAGE_PATH': os.getenv('LOCAL_STORAGE_PATH', os.path.join(os.path.dirname(os.path.dirname(__file__)), 'storage')),
}

# 确保本地存储目录存在
if not S3_CONFIG['USE_S3']:
    os.makedirs(S3_CONFIG['LOCAL_STORAGE_PATH'], exist_ok=True)
